<script src="../../../resources/js-test.js"></script>
<div id='container'></div>
<script>
description("This test checks that we correctly update the touch event handler count when an Input element with default touch handlers changes documents.");


 shouldBe('internals.touchStartOrMoveEventHandlerCount(document)', '0');

 // There are two touchable Input element in Audio's shadow DOM when controls are enabled.
 var input = document.createElement('audio');
 input.setAttribute("controls", true);
 var container = document.getElementById('container');

 shouldBe('internals.touchStartOrMoveEventHandlerCount(document)', '0');

 container.appendChild(input);
 shouldBe('internals.touchStartOrMoveEventHandlerCount(document)', '2');
 shouldBe('internals.touchEndOrCancelEventHandlerCount(document)', '0');

 input.ontouchend = function() { };
 shouldBe('internals.touchStartOrMoveEventHandlerCount(document)', '2');
 shouldBe('internals.touchEndOrCancelEventHandlerCount(document)', '1');

 input.ontouchend = null;
 shouldBe('internals.touchStartOrMoveEventHandlerCount(document)', '2');
 shouldBe('internals.touchEndOrCancelEventHandlerCount(document)', '0');

 document.implementation.createDocument("", "", null).adoptNode(input);
 shouldBe('internals.touchStartOrMoveEventHandlerCount(document)', '0');


</script>
</body>
